package groups; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.TreeSet; import subjects.ProductStock; public class Warehouse implements Serializable { private static final long serialVersionUID = 2589713771123559474L; private TreeSet<ProductStock> products; public Warehouse() { products = new TreeSet<ProductStock>(); } public void addProduct(ProductStock s) { products.add(s); } public void removeProduct(ProductStock s) { products.remove(s); } public TreeSet<ProductStock> getProducts() { return products; } public void replaceProduct(ProductStock p1, ProductStock p2) { removeProduct(p1); addProduct(p2); } public void serialize() { try { FileOutputStream fileOut = new FileOutputStream("warehouse.txt"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(products); out.close(); fileOut.close(); System.out.printf("Serialized data saved in warehouse.txt\n"); } catch (IOException i) { i.printStackTrace(); System.out.println(""); } } @SuppressWarnings("unchecked") public TreeSet<ProductStock> deserialize() { TreeSet<ProductStock> products = null; try { FileInputStream fileIn = new FileInputStream("warehouse.txt"); ObjectInputStream in = new ObjectInputStream(fileIn); products = (TreeSet<ProductStock>) in.readObject(); in.close(); fileIn.close(); } catch (IOException i) { i.printStackTrace(); } catch (ClassNotFoundException e) { System.out.println("Product class not found"); e.printStackTrace(); } return products; } }